1. Field of the Invention
This invention relates generally to digital memory, and more particularly to digital memory used in cache memory systems.
2. Description of the Related Art
A cache memory unit can be added to a computer system design to increase the speed and performance of the computer system. The cache memory unit serves as a user-transparent buffer between the central processing unit (CPU) and the main memory of the computer system. A cache memory unit typically includes expensive, high speed random access memory (RAM) which is relatively small in capacity compared to the capacity of the main memory. The cache RAM might, for example, be ten times faster and have one-tenth the capacity of the main memory. By storing frequently used data in the cache, the CPU can retrieve that data at high speed, boosting system performance.
A cache unit usually includes tag buffers, data buffers, and a cache controller. The data buffers store frequently used data for high speed retrieval by the CPU. The tag buffers are used to determine if the data needed by the CPU is in the cache data buffers, or in main memory. The cache controller performs the housekeeping functions for the cache unit, and includes the replacement algorithms for transferring data between the cache, CPU, and main memory.
The tag buffers store tag words which include address bits and status bits. One of the status bits of the tag buffer is known as the "valid" bit. The valid bit is HIGH when the data within the data buffer represents the true data in the main memory, and the valid data is LOW when the data within the data buffer does not represent the true data in the main memory.
The valid bits in the tag buffer must be reset to LOW upon system start-up, or when the tag buffer has been assigned to a different cache block in a multi-processing application. In the prior art, this was accomplished by writing into each word of the tag buffer. For example, if a tag buffer has 512 words, the prior art method for resetting the valid bit was to write into the tag buffer 512 times. Such a time consuming operation obviously degrades the overall efficiency of the computer system.